#ifndef COLAP_H
#define COLAP_H

#include "bool.h"
#include "arista.h"
#include "heap.h"

typedef halpha tcpalpha;
typedef struct scolap *colap;

/* Constructor del TAD */
colap colap_create(const size_t max);

/* Encolar un elemento */                  
void colap_encolar(colap c, const tcpalpha elem);

/* Primero en la cola */
tcpalpha colap_primero(const colap c);

/* Saca primero */
void colap_pop(colap c);

/* Determina si la cola se encuentra vacía */
Bool colap_vacia(const colap c);

/* Determina si la cola se encuentra llena */
Bool colap_llena(const colap c);

/* Saca y obtiene cualquier elemento */
tcpalpha colap_saca(colap c);

/* Destructor del TAD */
colap colap_destroy(colap c);

#endif /* COLAP_H */
